#pragma once
#ifndef PDF_INPUT_FILE_HPP
#define PDF_INPUT_FILE_HPP
#include "FileBuffer.hpp"

namespace Pdf
{
	class InputFile
	{
	public:
						InputFile(char const * path);
						InputFile(wchar_t const * path);
					   ~InputFile();

		long long		size() const;
		void			seek(long long offset);
		char			peek() const;
		char			next();

	private:
		void			fetch();

	private:
		void *			m_handle;
		FileBuffer		m_buffer;
		unsigned long	m_buflen;
		char *			m_pointer;
		char *			m_bufend;
		unsigned long	m_sector;
	};
}

#endif // PDF_INPUT_FILE_HPP
